package com.thb.pay.payment.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.thb.pay.db.entity.SuperEntity;
import lombok.Data;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;

/**
 * <p>
 * 支付-通道-账户表
 * </p>
 *
 * @author lucky
 * @since 2019-07-21
 */
@Data
@Accessors(chain = true)
@TableName("pay_passage_account")
public class PayChannelAccount extends SuperEntity<PayChannelAccount> {

    private static final long serialVersionUID = 1L;

    /**
     * 账户名称
     */
    @NotBlank(message = "accountName.not.null")
    private String accountName;
    /**
     * 支付通道类型ID
     */
    @NotNull(message = "channelTypeId.not.null")
    private Long channelTypeId;

    /**
     * 支付通道ID
     */
    @NotNull(message = "channelId.not.null")
    private Long channelId;

    /**
     * 支付通道风控规则ID
     */
    @NotNull(message = "channelRuleId.not.null")
    private Long channelRuleId;

    /**
     * 账户配置参数,json字符串
     */
    @NotBlank(message = "param.not.null")
    private String param;

    /**
     * 状态,0-停止,1-开启
     */
    private Integer status;

    /**
     * 轮询权重
     */
    private Integer pollWeight;

    /**
     * 对应第三方通道商户号[需要在第三方申请]
     */
    private String thirdMchNo;

    /**
     * 对应第三方通道商户申请的通道费率百分比
     */
    private BigDecimal thirdRate;

    /**
     * 风控模式,1-继承,2-自定义
     */
    private Integer riskMode;

    /**
     * 当天交易金额,单位分
     */
    private Long maxDayAmount;

    /**
     * 单笔最大金额,单位分
     */
    private Long maxEveryAmount;

    /**
     * 单笔最小金额,单位分
     */
    private Long minEveryAmount;

    /**
     * 交易开始时间
     */
    private String tradeStartTime;

    /**
     * 交易结束时间
     */
    private String tradeEndTime;

    /**
     * 风控状态,0-关闭,1-开启
     */
    private Integer riskStatus;

    /**
     * 资金归集开关,0-关闭,1-开启
     */
    private Integer cashCollStatus;

    /**
     * 资金归集配置,1-继承全局配置,2-自定义
     */
    private Integer cashCollMode;

    /**
     * 备注
     */
    private String remark;

}
